#include <iostream>
#include <string.h>
#include <iomanip>
// iostream :istream  ostream
using namespace std;
//using 使用命名空间的关键字
//namespace  命名空间的关键字
//std  标准的命名空间

int main()
{
    //**************************************************************************************************************************
    //1、C++包含了C语言的所有属性
    for(int i=0;i<10;i++)
    {
        for(int n=0;n<i;n++)
            cout << "*";
        cout << endl;
    }
    /*
    cout << "请输入年龄:";
    int age;
    cin >> age;
    cout << "age=" << age << endl;
    int a1 ,b1;
    cin >> a1 >> b1;
    cout << "a=" << a1 << "\nb=" << b1;
    */


    //**************************************************************************************************************************
    //2、数据类型
    char a2='A';
    cout << "A=" << (int)a2 << endl;

    //整型  有无前缀
    int b3=100;
    //二进制 0b
    //八进制 0
    //十六进制 0x
    //int b4=0x100;
    cout << "b1=" << b3  << endl; //十进制
    cout << "b1=" << dec << b3 << endl; //改变规则为十进制输出
    cout << "b1=" << hex << b3 << endl; //改变规则为十六进制输出
    cout << "b1=" << oct << b3 << endl; //改变规则为八进制输出

    //浮点型
    double c=12.3456789;
    cout << "c=" << c << endl;
    cout << "c=" << c << endl;//保留有效位数6位，存在四舍五入
    cout << "c=" << setprecision(4) << c << endl;//改变有效位数为4位
    cout << "c=" << fixed << setprecision(6) <<  c  << endl << setprecision(2) << c << endl;//改变小数点后有效位数

    //boll
    bool d=false;
    cout << "c+d=" << d+c << endl;//bool
    d=true;
    cout << "c+d=" << d+c << endl;//bool可以参加运算

    //**************************************************************************************************************************
    //3、字符串
    string str1="world";
    string str2(str1,2);//将str1总下标2开始初始化给str2
    cout << "str2=" << str2 << endl;

    string str3(6,'A');//将6个组成的字符串初始化给str3
    cout << "str3=" << str3 << endl;

    //string为类
    if(str3.empty())
        cout << "str3为空\n";
    else
        cout << "str3非空\n";
    cout << "str3的大小为:" << str3.size() << endl;
    cout << "str3的容量为:" << str3.capacity() << endl;
    //c语言字符串可以直接转换成c++的字符串
    char *p=(char*)"hello world";
    string str4=p;
    cout << "str4=" << str4 << endl;
    //c++的字符串需要c_str()进行转换
    char b[30]={0};
    strcpy(b,str4.c_str());
    cout << "b=" << b << endl;
    //访问字符串元素
    string str5="hell world";
    cout << "str5[30]=" << str5[30] << endl;
    cout << "str[4]=" << str5.at(4) << endl;
    //cout << "str5[30]=" << str5.at(30) << endl;





    return 0;
}
























